/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.business.beans;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import org.asportoonline.entities.Locale;
import org.asportoonline.entities.Prodotto;
import org.asportoonline.integration.ProdottoFacade;

/**
 *
 * @author fe
 */
@Stateless
public class ProdottoManagerImplementation implements ProdottoManager {
    @EJB
    private ProdottoFacade prodottoFacade;

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public List<Prodotto> elencoProdotti() {
        return prodottoFacade.findAll();
    }

    @Override
    public void inserisciProdotto(Prodotto prodotto) {
        prodottoFacade.create(prodotto);
    }
    
    public Prodotto cercaProdottoDelLocale(String nome_prodotto, Locale locale) {
        return prodottoFacade.findRestaurantProduct(nome_prodotto, locale);
    }

    public List<Prodotto> cercaProdottiDelLocale(Locale locale) {
        return prodottoFacade.findAllRestaurantProducts(locale);
    }

    public Prodotto cercaProdotto(long id) {
        return prodottoFacade.find(id);
    }

    public void aggiornaProdotto(Prodotto p) {
        prodottoFacade.edit(p);
    }

    public int numeroLocaliConProdottiDellaCategoria(String nomeCategoria) {
        return prodottoFacade.numberRestaurantsWithProductsCategory(nomeCategoria);
    }

    public List<Locale> localiConProdottiDellaCategoria(String nomeCategoria) {
        return prodottoFacade.restaurantsWithProductsCategory(nomeCategoria);
    }

    
}
